package com.example.android.pubtl;

import android.graphics.Bitmap;
import android.view.View;
import android.widget.ImageView;
import android.widget.SimpleAdapter.ViewBinder;

/**
 * アイコンをItemに表示させるクラス
 * Android Framework標準のSimpleAdapterでは、画像情報までは扱えないようになっています。
 * そこで、Android Frameworkのライブラリである「ViewBinder」を拡張してMyViewBinderクラスを作成し、
 * 画像も扱えるようにします。
 * @author s-kimura
 *
 */
public class MyViewBinder implements ViewBinder {

	/*
	 * 引数「view」（表示対象となるもの）に対して、引数「data」（表示しようとしているもの）を割り当てるときに利用します。
	 * (非 Javadoc)
	 * @see android.widget.SimpleAdapter.ViewBinder#setViewValue(android.view.View, java.lang.Object, java.lang.String)
	 */
    public boolean setViewValue(View view, Object data,
            String textRepresentation) {

        if ((view instanceof ImageView) && (data instanceof Bitmap)) {

            // アイコン表示先
        	ImageView iv = (ImageView) view;
            // 画像（bitmap）
        	Bitmap bm = (Bitmap) data;
        	// bitmapをImageViewで表示するように指定
            iv.setImageBitmap(bm);
            // 割り当てられた場合は「true」を返す
            return true;
        }
        return false;
    }
}